package Day_0218.JavaBase;

/**
 * @author zxc
 * @date 2023/02/18 11:49
 **/
public class Basic_Principles_Of_ObjectOriented {
    public static void main(String[] args) {
        /**
         * 面向对象的基本原则
         * ===》
         * 1.单一职责原则SRP(Single Responsibility Principle)
         * 类的功能要单一，不能包罗万象，跟杂货铺似的。
         *
         * 2.开放封闭原则OCP(Open－Close Principle)
         * 一个模块对于拓展是开放的，对于修改是封闭的，想要增加功能热烈欢迎，想要修改，哼，一万个不乐意。
         *
         * 3.里式替换原则LSP(the Liskov Substitution Principle LSP)
         * 子类可以替换父类出现在父类能够出现的任何地方。
         * 比如你能代表你爸去你姥姥家干活。哈哈~~
         *
         * 4.依赖倒置原则DIP(the Dependency Inversion Principle DIP)
         * 高层次的模块不应该依赖于低层次的模块，他们都应该依赖于抽象。
         * 抽象不应该依赖于具体实现，具体实现应该依赖于抽象。
         * 就是你出国要说你是中国人，而不能说你是哪个村子的。比如说中国人是抽象的，下面有具体的xx省，xx市，xx县。你要依赖的抽象是中国人，而不是你是xx村的。
         *
         * 5.接口分离原则ISP(the Interface Segregation Principle ISP)
         * 设计时，采用多个与特定客户类有关的接口比采用一个通用的接口要好。
         * 就比如一个手机拥有打电话，看视频，玩游戏等功能，把这几个功能拆分成不同的接口，比在一个接口里要好的多。
         *
         */
    }
}
